package NowCoder.JavaSE.String;
import java.util.*;

/**
 * 链接：https://www.nowcoder.com/questionTerminal/1046cd038f7a4b04b2b77b415973de1c
 * 来源：牛客网
 *
 * 剪花布条
 * 时间限制：C/C++ 1秒，其他语言2秒 空间限制：C/C++ 32M，其他语言64M
 * 一块花布条，里面有些图案，另有一块直接可用的小饰条，里面也有一些图案。对于给定的花布条和小饰条，计算一下能从花布条中尽可能剪出几块小饰条来呢？
 *
 * 输入描述:
 * 输入包含多组数据。
 *
 * 每组数据包含两个字符串s,t，分别是成对出现的花布条和小饰条，其布条都是用可见ASCII字符表示的，可见的ASCII字符有多少个，布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。
 *
 *
 * 输出描述:
 * 对应每组输入，输出能从花纹布中剪出的最多小饰条个数，如果一块都没有，那就输出0，每个结果占一行。
 * 示例1
 * 输入
 * abcde a3
 * aaaaaa aa
 * 输出
 * 0
 * 3
 */
public class 剪花布条_编程_1_7_5 {
    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        while(sc.hasNext()){
            //出现的花布条和小饰条都是ASCII字符串
            String str1 = sc.next();
            String str2 = sc.next();

            System.out.println(decorativStripsNums(str1,str2));
        }
    }

    public static int decorativStripsNums(String str1,String str2){
        if(str1 == null){
            return 0;
        }
        int nums = 0;
        char[] arr1 = str1.toCharArray();
        int str2Len = str2.length();

        for(int i = 0;i < str1.length() - str2Len + 1; i++){
            String str = "";
            for(int j = i; j < i + str2Len; j++){
                str += arr1[j];
            }
            if(str.equals(str2)){
                i = i + str2Len - 1;
                nums++;
            }
        }
        return nums;
    }
}
